#!/bin/bash

NEXU3_DATA=/opt/module/nexus3/data

if [ ! -d "$NEXU3_DATA" ]; then
    mkdir -p $NEXU3_DATA
fi

chown -R 200 $NEXU3_DATA

docker run -d \
    -p 8088:8088 \
    -p 8081:8081 \
    -p 5000:5000 \
    -v $NEXU3_DATA:/nexus-data \
    --name nexus3 \
    --privileged=true \
    sonatype/nexus3

# http://localhost:8081，右上登录，密码随机
# cat /opt/module/nexus3/data/admin.password
# 登录后修改密码：admin:admin
# [root@mini data]# curl -u admin:admin http://localhost:8081/service/metrics/ping
# pong

==> 找依赖包的流程： 首先在本地仓库中找，如果没命中，那么就找远程私服；
远程私服的查找规则同样是先找host属性的私有库，然后再去找proxy属性的远程仓库；可以配置多个proxy；

==> 默认安装有以下这几个仓库，在控制台也可以修改远程仓库的地址，第三方仓库等。
hosted（宿主仓库库） ：存放公司开发的jar包（正式版本、测试版本）
proxy（代理仓库）：代理中央仓库、Apache下测试版本的jar包
group（组仓库）：使用时连接组仓库，包含Hosted（宿主仓库）和Proxy（代理仓库）

上传jar包配置
对于中央仓库没有的jar包，需要我们自己将jar包发布到私服中去，其中jar包主要分为两类，
一类是本地自己开发供给项目组其余同事使用，这种直接配置项目的pom文件和maven的setting文件，之后deploy发布即可发布到；
另一类是第三方jar包，可以直接使用web页面上传并设置对应GAV即可；

==> 注意:
这里只有Snapshot的仓库上传成功，Release仓库并没有上传成功，这是因为版本号名称结尾有SNAPSHOT，默认以这个结尾是不会上传到Release仓库去的，
去除就会上传到Release仓库且不会上传到快照仓库
Release仓库默认不支持重复发布，可配置
注意setting中server标签下的id要和pom文件中仓库配置的id相同，即指定上传到哪个仓库
